package com.xiaoxu.common.exception;

import com.xiaoxu.spzx.model.vo.common.ResultCodeEnum;
import lombok.Data;

/**
 * ClassName:XiaoXuException
 * Description:
 *
 * @author: 徐廷泉
 * @Create 2024/1/14 13:46
 */
@Data
public class XiaoXuException extends RuntimeException{

    private Integer code ;          // 错误状态码

    private String message ;        // 错误消息

    private ResultCodeEnum resultCodeEnum ;     // 封装错误状态码和错误消息

    /**
     * 构造函数，通过ResultCodeEnum实例创建XiaoXuException对象
     * @param resultCodeEnum 错误状态码和错误消息的枚举
     */
    public XiaoXuException(ResultCodeEnum resultCodeEnum) {
        this.resultCodeEnum = resultCodeEnum ;
        this.code = resultCodeEnum.getCode() ;
        this.message = resultCodeEnum.getMessage();
    }

    /**
     * 构造函数，通过指定错误状态码和错误消息创建XiaoXuException对象
     * @param code 错误状态码
     * @param message 错误消息
     */
    public XiaoXuException(Integer code , String message) {
        this.code = code ;
        this.message = message ;

    }

}
